
"""  
描述:易经推导
    只需要补充23-27之间的部分!!!-->需180行---》补充了
    其余地方均已经验证正确,正常情况下不会有什么很大的bug
    -->
    输入前需要记录input一下"请问您是哪位？想问什么事情？时间是多少？"
    -->
    （只需要把这三个问题用一个input问就行，这是为了要以后归档记录）
    输入时请输入合理范围内的数,未设置输入错误排除机制
    -->
    输入的数为零或正整数[0,正无穷），可以比8大
"""

# 此两行改变数值可以改变打印的表格的宽度,请修改为偶数!!!
width = 30  # 可以修改
width_chinese = int(width / 2)

# 本函数作用:选择主卦和解释
def select1(s):
    s1 = ""
    s2 = ""
    if s == '000000':
        s1 = "乾为天"
        s2 = "乾卦，阳刚，刚健，自强不息。乾六爻皆盈滴，故肥园，园满、亭通，成功、重大。但刚多易折，含欠安之像。人物表示为上级、领导、当官的，执法者，有钱而富贵者，司机。"
    if s == '000100':
        s1 = "天泽履"
        s2 = "小畜卦，天上起风，满天风云，强健如顺风而行，积少成多，"
    if s == "000010":
        s1 = "天火同人"
        s2 = "同人卦，日挂中天，照耀著天下旷野万物，“旷达无私以同人，同心之言”，志同道合，人相亲近，为人友好。发热的，烫灼的金属物，金属电器物件，锅炉。乾为体有灾，离为体谋事可成。与子女有争执，肺、呼吸系统有疾，有血管硬化症，不利老父长男。"
    if s == "000110":
        s1 = "天雷无妄"
        s2 = "无妄卦，天下雷行，晴天霹雳，意外之意外;妄行则有意外之灾，得意忘形而取灾。无所期望，无虚妄。不切实际的幻想，惊天之大事。真实客观，“诚化之生生大有，尽人道而合天德,活力而健。”乾为体，谋事成功，利财官，震为体，有灾,事难成，多争执，上司压制批评，多小人。克长男，伤足，头痛，头鸣,肝症,肝肥大,肝硬化。"
    # *********开始补充*********
    if s == '000001':
        s1 = "天风姤"
        s2 = "姤卦天下起风， 阴渐长盛，君王发布文告，施行命令，告知四方。柔遇刚则壮，遭遇沟通，命令。一阴敌五阳，女壮勿娶。腿都有破相。在体，用及人身疾病方面与小畜卦同解。"
    if s == '000101':
        s1 = "天水讼"
        s2 ="讼卦，天下着雨，上刚下险。官非口舌，争讼，不亲近，孚信被窒息。内心聪明，在体，用、人身疾病上与需卦同解。"
    if s == '000011':
        s1 = "天山遁"
        s2 = "遁卦，天高于上，天下有山，山止于地,远山人藏，遁山不进,退避隐匿。超脱行事,远小人。高位,高的金属塔架，电视转播塔,大山,高山。在体,用及人身疾病方面与大畜卦同。"
    if s == '000111':
        s1 = "天地否"
        s2 = "否卦，天清在上，地浊在下，天地之气不相交。团塞不通，否隔，事不顺畅，“大人否亨，内小人而外君子。”在体用及人身与泰卦相同。另防颈椎增生。"
    if s == '100000':
        s1 = "泽天夬"
        s2 = "央卦泽上于天，高天飞云。决断，决去，断绝关系，果断、了结、结束、切断、消除。“果决其所当决，健而悦，决而和。”长辈，上司喜悦，得长辈，上级领导之 帮助，作事则美中不足，常不尽如人意。头部有破相。在体，用及人身疾病方面与履卦同解。"
    if s == '100100':
        s1 = "兑为泽"
        s2 = "兑卦喜悦可见，快乐照临人，口若悬河，善言喜说，高兴，沼泽地，洞穴，废穴，败壁破宅，坑洼地，纵横沟渠。测事如意悦心。口疾，气管疾病，肺疾，麻脸，肝胆疾症，股疼，血光灾，作手术。"
    if s == '100010':
        s1 = "泽火革"
        s2 ="革卦，兑为泽为水为开口锅，革卦离火煮水，水火相息，变化更新，变革除旧，有论狱之事。创新，革新，不守旧，革命，流血，受伤。头部有破相。在体、用及人身疾病方面与睽卦同解。"
    if s == '100110':
        s1 = "泽雷随"
        s2 ="随卦上口说下行动，言必行，言行一致，怒吼争吵，相随相从，无故追随，随众，跟随，天下的事物都要随时而动。兑为体事可说动，说成功，震为体枉费口舌行动，反有灾咎，受拖累。克长子，有血光灾，金属利器伤身，破相，官非口舌，肝病、抽筋、喃语。"
    if s == '100001':
        s1 = "泽风大过"
        s2 = "大过卦，二阴爻在外而虚，断折，为栋粱挠曲之象，卦为大坎卦象，坎为险，则大险，阳刚过中，大过则事物颠倒，有大灾"
    if s == '100101':
        s1 = "泽水困"
        s2 = "困卦坎在兑下， 河泽无水。穷困，危机，遭遇艰难，灾难病痛齐致，毁灭性的灾难，病症，事不顺，守已待时。头部有破相，有水厄，2岁，6岁，20岁，26岁，62 岁有灾病。在体，用及人身疾病方面与节卦同解。"
    if s == '100011':
        s1 = "泽山咸"
        s2 = "咸卦，兑气在上，艮气在卜，刚柔两气相咸,相应,迅速。“只说不行,道听途说。”山溏水库，火山口,山洞穴,吊井。兑为体，财帛可得，艮为体大破耗，破损。口腔溃疡，脚跛,刀伤，跌伤引起明暗破相。"
    if s == '100111':
        s1 = "泽地萃"
        s2 = "萃卦泽于地上，地上有坑洼水溏沟渠，井口。和顺而欢悦集聚，聚中，会合，吸收，吸取，聚众美而悦。头部有破相，下肢疲软无力，小人，后母，妾。在体用及人身疾病方面与临卦同解。"
    if s == '010000':
        s1 = "火天大有"
        s2 = "大有卦，离火丽日，满天霞光，富其所有，所有众多，大有收获，“自助人助，万物所归。”在体、用及人身疾病方面与同人卦同解。另防脑血管硬化破裂。"
    if s == "010100":
        s1 = "火泽睽"
        s2 = "睽卦火炎于上，泽睽于下，二女同居，其志不同，睽违乖异，乖润违于外。瞧，看，观察，观望，留意。发光的金属物，电热水壶，杯，电视。离为体谋事可成，兑为体有血光之灾。烧伤，利器伤，口腔炎症，呼吸道炎症，低血压。火灾，暗破相。"
    if s == "010010":
        s1 = "离为火"    
        s2 = "离卦离明两重，光明绚丽，火性炎上，依附团结。离散，离开，分离。凡八纯卦互为依托帮助，但又具同性相斥之性。虽比和，但内有冲突，谋事可成，却有周折，目疾，心脏疾病，高血压，肺虚症。"
    if s == "010110":
        s1 = "火雷噬嗑"    
        s2 = "噬嗑卦，火得木生，电闪雷鸣。吃而合之，嚼啐口中之物，有口福，食，断决狱情，除暴安民。人脾气大，易激动。发电站，离为体，财官旺，震为体，失脱破耗。高烧，心脏病，心悸，心跳过速，市奋而引起脑血管患疾，肝火旺。"
    if s == "010001":
        s1 = "火风鼎"    
        s2 = "鼎卦木助火旺，烹饪食物。上下不畅，不大顺利，不停的更新，立新，鼎立，问鼎夺冠。跛脚。“凝重安定以新命，去浮华以用实才，火木相生，木火得当。”在体、用及人身疾病与家人卦同解。"
    if s == "010101":    
        s1 = "火水未济"    
        s2 = "未济卦火在水上，二气不相交，事尚未成功，事不利，没有终结，永无终止。男人困穷。在体、用及人身疾病方面与既济卦同解。"
    if s == "010011":   
        s1 = "火山旅"   
        s2 = "旅卦山上有火。旅行，旅居在外，外出，亲朋寡少，不安定象，火灾，火山，火把，烟火台。“居不安，而道不废，火丽高而明而慎。”心脏停止跳动，目定眼呆滞-付死相。在体，用及人身疾病方面与贲卦同解。"
    if s == "010111":    
        s1 = "火地晋"    
        s2 = "晋卦日自地平线上升起,前进光明,离日自照，晋升上进,白天。“光明磊落，延同类以升进，厚礼广思，大明接物，自沼明德。”离为体失落破耗，坤为体则有进财荣耀之喜，婚事不佳,防变故。视力差，心衰竭，血病，胃邪火。"
    if s == "110000":
        s1 = "雷天大壮"    
        s2 = "大壮卦雷行於天，强盛壮大，“刚阳充沛，壮在正大。”壮盛则止，刚极则伤至，凶危，无定处。在体、用及人身疾病方面与无妄卦同。"
    if s == '110100':    
        s1 = '雷泽归妹'    
        s2 = "归妹卦泽上有雷， 进必有所归，女子归宿，归家，回归。“说以动婚姻，天之大义，人之始终，悦以动。”在体，用及人身疾病方面与随卦同解。"
    if s == '110010':    
        s1 = "雷火丰"    
        s2 = "丰卦雷电交作，光明而动，而获盛大硕果，欢乐盛大，丰富丰盛致极，则多事故，冲动，暴燥，激动引发心脏病。在体，用及人身疾病方面与噬嗑卦同解。"
    if s == "110110":    
        s1 = "震为雷"    
        s2 = "震卦重雷交叠，相与往来，震而动起出。震动,震惊鸣叫，惊惕，再三思考，好动。建功立业，声名大振。森林，树林。八纯卦，吉顺而有波折，肝旺易怒，惊恐，肝病，抽筋，伤脾胃。"
    if s == "110001":
        s1 = "雷风恒"   
        s2 = "恒卦,雷动风散，阴阳比和，永恒持久，恒心,相得益彰。昧事无常，运气反复，时好时坏,“忧患中求成功之道。”乳痛,肝胆病，脾胃功能差。比和卦，事顺可成，求财官婚姻均吉，多得人助。"
    if s == "110101":    
        s1 = "雷水解"    
        s2 = "解卦蛟龙得水， 坎险之中而动免险难，雷雨交作，阴阳和畅，百物松懈泽润。解脱，缓解，解除灾难，解散，解决，瓦解。“雷雨动，万物生发。”在体，用及人身疾病方面与屯卦同解。"
    if s == "110011":    
        s1 = "雷山小过"    
        s2 = "小过卦为大坎卦象， 高山霹雷，山大雷小，小有所过:有所超过，隐伏危险，但以静制动，“小过常以成大业。”在体，用及人身疾病方面与颐卦同解。"
    if s == "110111":       
        s1 = "雷地豫"    
        s2 = "豫卦，平地一声雷，或春雷一声，震惊百里，惊天动地，影响大，名气响亮。享受安乐，悦逸豫乐，乐而懈怠，发令号召，需知随时之义，出人头地，根深蒂固。震为体，求财可得，利获地产，坤为体，凶。四十岁建功立业，四十八岁名传四海。不吉且赌博好饮，田圆废尽，官灾是非，桎梏难逃。有足疾，肠胃病，伤内筋，肾虚不利妇。"
    if s == "001000":    
        s1 = "风天小畜"
        s2 = "小畜卦，天上起风，满天风云，强健如顺风而行，积少成多，留住，“德积载法”，济养，巽卦为体，有灾，金属器物之伤，上司批评，受压制，乾卦为体谋事可成，但付出较多，来回奔劳活动，用权力压服它人，胆经之疾，风寒。不利妇女，男人专权，克妇。"
    if s == "001100":    
        s1 = "风泽中孚"    
        s2 = "中孚卦，为大离卦像，孚信，诚信相感，信守中道，胸有成竹。无定向，心不定。有议狱之事。外刚内柔，外实内虚。在体、用及人身疾病方面与大过卦同解。"
    if s == "001010":
        s1 = "风火家人"
        s2 = "家人卦风自火出， 风助火势，一家之人，家庭亲友，友人同辈，朋友，自己人，同道，团聚于内。风驰电掣。风散火易熄。喜庆，文明，和乐富有之家。巽为体财不聚。离为体学业有成，高烧，心脏病，血液病，股部炎症。"
    if s == "001110":    
        s1 = "风雷益"    
        s2 = "益卦风雷交加，损上益下，互相增益，受益。盛之始，贞洁。“克已而益千万人。”在体，用及人身疾病方面与恒卦同解。"
    if s == "001001":    
        s1 = "巽为风"    
        s2 = "巽卦“柔而又柔， 前风往而后风复兴，随息相不，柔和如春风，随风而顺。”巽顺，顺从，进入而下伏。重巽申令，气功，双床双桌相并连，作生意可获三倍之利，头发稀少，草木丛生。活跃，坐不住，静不下来，测事比和吉。肝胆疾病，坐骨神经痛，股部疼痛，风湿中风，脾胃欠佳。"
    if s == "001101":    
        s1 = "风水涣"    
        s2 = "涣卦木漂于水，水面起风，船行于水上。涣散，离散，“济险有具”。在体，用及人身疾病方面与井卦同解。"
    if s == "001011":    
        s1 = "风山渐"    
        s2 = "渐卦，山上草木渐长于山，草木积而成山包草堆。渐进，有序，逐渐，一步步前进。山欲静，风不止。“内止静，外巽顺，活动不穷。”车速过快风行于山颠，有车祸之险，嘻戏跑动而跌伤。在体，用及人身疾病方面与蛊卦同解。"
    if s == "001111":    
        s1 = '风地观'
        s2 = "观卦风行地上，和风轻拂大地、观望、追求、临观、观赏、观察了解、惩罚告诚。“察民情，设教化。”巽为体，谋事可成，坤为体有灾。有是非，健康差，咎当主母，女夺母权。有肠胃病、伤脾、呼吸道疾病，下肢瘫痪，半身不逐之症、风湿。观又为大艮大止，静观不动之意。"
    if s == "101000":
        s1 = "水天需"
        s2 = "需卦阴云在天，艰险在前，需侍时而进，需要，等待，期待。担当险难，有所欲求。有聪明才智。坎为体，有财官之喜，利中男，乾为体，且泄气，失脱，灾病，降职丢官。"
    if s == "101100":
        s1 = "水泽节"
        s2 = "节卦河泽水满，仍需节制节约用水，停止奢侈，俭约。水洋，不远，盛水液的容器，流脓血的创口，口腔疾病(口、齿、舌、咽喉等)，咳嗽、痰喘、尿道口、肛门疾病、血压低、外伤、气管病、气虚、头部伤。坎为体，事可成者兑为体，有灾或病、破耗则事难成。"
    if s == "101010":    
        s1 = "水火既济"    
        s2 = "既济卦坎水在上，离火在下，水火相交，二气相感，大功告成。矛盾着的两个事物相辅相济，促成事业完成。但既济之极， 险体在上，需思患豫防。坎为体，事可成，离为体有灾。婚姻正配，情投意合。有火，水之厄，视力差，风湿性心脏病，血液病， 肾脏病。 "
    if s == "101110":    
        s1 = "水雷屯"    
        s2 = "屯卦，木得天雨而沐之，或雷而交加，面对困难而思慎之像。坎为险，震为动，屯积、盈、物之始、聚顿挫，初始虽艰难，但不失其居处和立业。“以贵下溅，动於险中，忧患中深谋远虑。”坎为体，则泄气无财，失脱；震为体且受生而获财升职。防肝病、衰血症，肾亏等，患在长男。"
    if s == "101001":    
        s1 = "水风井"
        s2 = "井卦，木入水出，提井水之象，通达，畅达，滋养，井固。“劳苦，稳慎，处忧患，常固不迁。”水中植物，海带，海草。坎为体失脱破耗，巽为体有进益之喜，谋事吉。有水厄，风湿痛，胆病，肾虚症。"
    if s == "101101":
        s1 = "坎为水"    
        s2 = "坎卦为二坎相重，阳陷阴中，险陷之意，险上加险，重重险难，天险，地险。险阳失道，渊深不测，水道弯曲，人生历程曲折坎坷。绝项聪明，“心诚行有功”。比和卦，谋事顺畅可成，但内中有波折。肾，泌尿系统疾病，血病，妇科病，视力差，心脏病。"
    if s == "101011":    
        s1 = "水山蹇"    
        s2 = "蹇卦高山流水， 坎在前，艮止于后，险难当前，灾难。交通受阻，飞山越海，远渡重洋。“愈担当艰难愈生发智慧，见险在前，从容镇定，待时兴发。”瀑布。坎为体，有灾。艮为体利求财。肾病，泌尿系统病，肾与泌尿系统结石，血液病，脚疾，手指疾，耳闭塞。"
    if s == '101111':    
        s1 = "水地比"    
        s2 = "比卦，地上有水渗透，辅助互比，亲善帮助，比试，快乐。“至诚相知，相与相应。”聪明之妇。在体、用、人身疾病方面与师卦同解。"
    if s == "011000":    
        s1 = "山天大畜"    
        s2 = "大畜卦，登高山而纵观天下事。大莫若天，止莫若山，乾为进，艮为止，不让前进，时时存蓄，大的积蓄,大的等待。笃实刚健,勤劳不息，从而畜和富有，充实。蕴畜、畜止。山中蕴藏有金属矿石，下面藏有金玉珠宝钱币。坟墓，坟包内有僵尸象。良为体，失脱破耗,孝顺父辈,迎奉讨好上司，乾为体，获意外之大财，升职，成大业。脾胃虚寒、骨质增生、骨瘤。小子体虚。"
    if s == "011100":    
        s1 = "山泽损"    
        s2 = "损卦山下有泽，山高泽深，损其深，增其高，减损。破损，毁损，损失，减少，衰之始，伤。君子“损以修德，损以修已，损以益。”在体，用及人身疾病方面与咸卦同解。另有内破相，腿脚伤残。"
    if s == "011010":    
        s1 = "山火贲"    
        s2 = "山下有火，万物光彩，装饰，修饰，美，收拾，礼仪，迎婚，求婚。祭奠，有令人愉快的事发生，喜庆，子孙旺昌，田园富盛，有横财。火山。艮为体大吉，离为体泄气失脱破耗。测数顶多为三，利小子。心血瘤、血液循环不畅，心肌梗阻"
    if s == "011110":    
        s1 = "山雷颐"    
        s2 = "颐卦，二阳爻在外，外实内虚，外刚内柔，外强中干。停止行动，停止思想。蕴动的火山。颐养，自养，自求口实，节饭食，养生之道。君子情言语，养之以正。“致灵龟，养长生。”艮为体，受克有灾，事难成，不利小子。震为体，操心事可缓成。伤足，脾胃病，活动受制不便，背沉痛，胆结石，从高处跌伤，筋伤骨折，肝部之疾。"
    if s == "011001":    
        s1 = "山风蛊"    
        s2 = "蛊卦山下有风，风被山阻止不流通，静止不动，腐败之象。蛊惑，败家子，侵饰，发生事端之凶，治理整顿。任凭大风劲吹，我自巍然不动而静守。艮为体凶，巽为体谋事可成，小孩多病，损小口。脾胃欠佳，鼻敏感，嗅觉灵，背沉，足患，有被蛇，犬、牛咬伤惊吓之险。"
    if s == "011101":    
        s1 = "山水蒙"    
        s2 = "蒙卦山下有水，山下有险，险而止，阴陷而不定，复杂而显著。童蒙，蒙味，启蒙，教育，教化。昏，沉。跌落在水中之灾或肾结石，泌尿系统结石，耳闭，失聪。艮为体，有辛劳之财，坎为体，有灾事，不利中男。"
    if s == "011011":    
        s1 = "艮为山"    
        s2 = "艮卦山外有山，山相连。不动，静止，停止，克制，沉稳、稳定，止其所欲，重担。两桌、两床相连，上下铺位，床上、桌下.测外出不行，行人不归。癌症，青春痘，痧菲子，肿瘤，疱块，脾胃病，肾病，结石症。"
    if s == "011111":    
        s1 = "山地剥"    
        s2 = "剥卦，高山附地，高附于卑，刚阳剥落，剥掉,剥击，烂，跌伤，老人归山入墓，床。阴盛阳衰，小人道长，小人得势，女人得此卦为女中豪杰，巾帼英雄，女能人，女强人。余与谦卦相同，另有下肢疲软无力之象。跌伤,摔伤，有归山入土之象。"
    if s == "111000":    
        s1 = "地天泰"    
        s2 = "泰卦，天地之气相交，小往大来。安泰亨通，通泰，安稳，持盈，宏大，事吉。“无往不所，艰难守正，降尊从贤。”坤为体，则泄气失脱，迎奉权贵，乾为体且有发财升宫之喜，得妇人之助，众人之拥戴。有胃寒之疾。"
    if s == "111100":    
        s1 = "地泽临"    
        s2 = "临卦地下有洞穴，有泉浦。临近，亲临、喜临、喜悦，亲自参与，以上抚下，以尊莅卑。聚众美德于一生。“至诚至临的人生，刚正和顺化育不息。”坤为体失脱破耗。兑为体有坐享其成之福。利小女，为母亲之掌上明珠，享厚爱眷爱。测婚老母配少女，必婚变。肚疴，腹部动手术，身上有疤痕。"
    if s == "111010":    
        s1 = "地火明夷"    
        s2 = "光明入地中,晦暗之象。伤夷,黑暗,明伤，诛杀,昏暗世时。“忧患之人文生命，内之明外柔顺以蒙大难。”在体，用及人身疾病方面与晋卦同。"
    if s == "111110":    
        s1 = "地雷复"    
        s2 = "复卦,地震之卦。一阳复起,阳刚始生,万物亨通。“阳刚复回,君子道生。”返回,回复,复兴，初兴,来复，反复,自我奋斗，踏实稳重进取。在体用及人身疾病方面与豫卦同。另有静思,有较大的闷脾气,神经分裂症。"
    if s == "111001":    
        s1 = "地风升" 
        s2 = "升卦木生于地中，长而益高。上升，不下来，破土而出，竹简。坟葬。中风脑溢血，腿足有破相。在体、用及人身疾病方面与观卦同解。"
    if s == "111101":    
        s1 = "地水师"    
        s2 = "师卦，地下藏水、矿泉水、地下水、小人内心阴险狡诈。聚集群众，兴师动众，统领，统帅，军队，保守稳定，忧虑。“容民畜众，忠国怀臣。”坤为体，谋事可成，坎为体有灾病。肾病，泌尿系统粉末状结石，腹泄:大便溏泻。母有病，不利中男。女人当权，遭妇辱。"
    if s == '111011':    
        s1 = '地山谦'    
        s2 = '谦卦地中藏有矿石财富，恭敬合礼，屈已下人，退让而不自满，谦虚退让，轻已尊人，“劳谦君子的盛德，内充实。”比和卦，事吉。测婚老母配少男，有婚变之兆，(互卦又藏坎险)有脾胃病，便结，肾虚之疾。'
    if s == "111111":    
        s1 = "坤为地"    
        s2 = "坤卦，明柔，地道贤生；厚载万物，运行不息而前进无疆，有顺畅之像。坤六爻皆虚，断有破裂之像，明暗、陷害、静止，测出行不走，行人不归。人物表示小人（由天大地小而取）。"
    # *********补充结束*********
    lst = []
    lst.append(s1)
    lst.append(s2)
    return lst


# 本函数作用:选择五行,金木水火土,我修改得更具体
def select2(s):
    if s == "000" :
        s = "1乾金"
    if s == "100":
        s = "2兑金"
    if s == "110" :
        s = "4震木"
    if s == "001":
        s = "5巽木"
    if s == "011" :
        s = "7艮土"
    if s == "111":
        s = "8坤土"
    if s == "101":
        s = "6坎水"
    if s == "010":
        s = "3离火"
    return s


# 本函数作用:负责生成str_a
def to_str_a(i):
    if i == 1:
        return "000"
    if i == 2:
        return "100"
    if i == 3:
        return "010"
    if i == 4:
        return "110"
    if i == 5:
        return "001"
    if i == 6:
        return "101"
    if i == 7:
        return "011"
    if i == 8:
        return "111"


# 本函数作用:负责控制输出格式
def print_table(L, L2):
    print("+", "-"*width, "+", "-"*width, "+", "-"*width, "+", sep = '')
    print("|", L[0].center(width-len(L[0])), "|", L[2].center(width-len(L[2])), "|", L[4].center(width-len(L[4])), "|", sep = '')
    print("+", "-"*width, "+", "-"*width, "+", "-"*width, "+", sep = '')
    # 打印解释部分
    max_len = max(len(L[1]), len(L[3]), len(L[5]))
    row =  max_len // width_chinese + 1
    a = 0
    for _ in range(row):
        a += width_chinese
        if a - len(L[1]) <= 0:
            print('|', L[1][a-width_chinese : a], sep = '', end = '')
        elif 0 < a - len(L[1]) < width_chinese:
            print('|', L[1][a-width_chinese:], " "*(width_chinese - len(L[1][a-width_chinese:]))*2, sep = '', end = '')
        else:
            print('|', " "*width, sep = '', end = '')
        
        if a - len(L[3]) <= 0:
            print('|', L[3][a-width_chinese : a], sep = '', end = '')
        elif 0 < a - len(L[3]) < width_chinese:
            print('|', L[3][a-width_chinese:], " "*(width_chinese - len(L[3][a-width_chinese:]))*2, sep = '', end = '')
        else:
            print('|', " "*width, sep = '', end = '')
        
        if a - len(L[5]) <= 0:
            print('|', L[5][a-width_chinese : a], sep = '', end = '|\n')
        elif 0 < a - len(L[5]) < width_chinese:
            print('|', L[5][a-width_chinese:], " "*(width_chinese - len(L[5][a-width_chinese:]))*2, sep = '', end = '|\n')
        else:
            print('|', " "*width, sep = '', end = '|\n')
    print("+", "-"*width, "+", "-"*width, "+", "-"*width, "+", sep = '')
    
    print("|", L2[0][0:int((len(L2[0]))/2)].center(width-len(L2[0])+4), "|", 
    L2[1][0:int((len(L2[1]))/2)].center(width-len(L2[1])+4), "|",
     L2[2][0:int((len(L2[2]))/2)].center(width-len(L2[2])+4), "|", sep = '')
    print("|", L2[0][int((len(L2[0]))/2):].center(width-len(L2[0])+4), "|", 
    L2[1][int((len(L2[1]))/2):].center(width-len(L2[1])+4), "|", 
    L2[2][int((len(L2[2]))/2):].center(width-len(L2[2])+4), "|", sep = '')
    
    print("+", "-"*width, "+", "-"*width, "+", "-"*width, "+", sep = '')


# 输入一个字符串,返回去除英文字符的字符串
def clean_english_char(s):
    st = ""
    for c in s:
        if c == ' ':
            c = ''
        if c == '“':
            c = ''
        if c == '”':
            c = ''
        if c == ',':
            c = '，'
        if c == ':':
            c = '：'
        # 上面可继续添加
        st += c
    return st


# 主函数,内容输入-->需要修改一下，a为第一个数除以8取余数；b为第2个数除以8取余数；c为第一个数除以6取余数；
def main():
    a = int(input("请输入第一个数:"))
    b = int(input("请输入第二个数:"))
    c = int(input("请输入第三个数,动爻:"))
    input("请问您是哪位？想问什么事情？时间是多少？\n")
    if a % 8 == 0:
        a = 8
    else:
        a = a % 8
    if b % 8 == 0:
        b = 8
    else:
        b = b % 8
    
    # 推导出lst_a,str_a
    lst_a = []
    str_a = to_str_a(a) + to_str_a(b)
    lst_a[:] = str_a
    
    # 推导出lst_b,str_b
    lst_b = lst_a[1:4] + lst_a[2:5]
    str_b = "".join(lst_b)
    
    # 推导出lst_c,str_c, # index = 0 if c % 6 == 0 else 6 - c % 6
    lst_c = lst_a
    if c % 6 == 0:
        index = 0
    else:
        index = 6 - c % 6    
    
    lst_c[index] = '1' if lst_a[index] == '0' else '0'
    str_c = "".join(lst_c)

    # 本处用于输出
    L = select1(str_a) + select1(str_b) + select1(str_c)
    L[1] = clean_english_char(L[1])
    L[3] = clean_english_char(L[3])
    L[5] = clean_english_char(L[5])

    L2 = []
    L2.append(select2(str_a[0:3]) + select2(str_a[3:6]))
    L2.append(select2(str_b[0:3]) + select2(str_b[3:6]))
    L2.append(select2(str_c[0:3]) + select2(str_c[3:6]))  
    # print(L, L2)  # 测试代码
    print_table(L, L2)


main()